home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1999 #2 / Amiga Plus CD - 1999 - No. 2.iso / System-Boost / Grafik / AmiCAD / ARexx_english / UPPERCASE.amiCAD < prev    next >
Text File  |  1998-06-17  |  1KB  |  60 lines

  1. /* Conversion of a text object in UPPERCASE */
  2. /* $VER: 1.02e (© R.Florac, 24 Mai 1998) */
  3.  
  4. options results
  5.  
  6. signal on error
  7. signal on syntax
  8.  
  9. 'OBJET=FIRSTSEL'; objet = result
  10. if objet = 0 then do
  11.     'MESSAGE("There is no selected"+CHR(10)+"object")'
  12.     exit
  13. end
  14.  
  15. 'SAVEALL(-1)'
  16. do while objet > 0            /* version 1.01 */
  17.     'TYPE(OBJET)'; type = result
  18.     'READTEXT(OBJET)'; texte = result
  19.  
  20.     i = 1
  21.     l = length(texte)
  22.     do while i <= l
  23.  
  24.     curletter = substr(texte, i, 1)
  25.     if curletter = ' ' then
  26.     do
  27.            i = i + 1
  28.            iterate
  29.     end
  30.  
  31.     texte = overlay(upper(curletter), texte, i)
  32.  
  33.     i = i + 1
  34.     end
  35.  
  36.     select
  37.     when type = 4 then 'SETTEXT(OBJET,"'texte'")'
  38.     when type = 5 then 'SETTEXT(OBJET,"'texte'")'
  39.     when type = 6 then 'SETTEXT(OBJET,"'texte'")'
  40.     when type = 11 then 'SETTEXT(OBJET,"'texte'")'
  41.     when type = 12 then 'SETTEXT(OBJET,"'texte'")'
  42.     otherwise nop
  43.     end
  44.  
  45.     'OBJET=NEXTSEL(OBJET)'; objet = result
  46.     if objet=0 then exit
  47. end
  48.  
  49. exit
  50.  
  51. /* Traitement des erreurs, interruption du programme */
  52. syntax:
  53. erreur=RC
  54. 'MESSAGE("Script UPPERCASE.AmiCAD:"+CHR(10)+"Syntax error"+CHR(10)+"in line 'SIGL'"+CHR(10)+"'errortext(erreur)'")'
  55. exit
  56.  
  57. error:
  58. 'MESSAGE("Script UPPERCASE.AmiCAD:"+CHR(10)+"Error in line 'SIGL'")'
  59. exit
  60.